package 数组.练习;

import java.util.Scanner;

public class 家庭记账软件 {

    //10：10行，能储存10条记账记录
    //4：4列，收支类型 账户金额    收支金额    说明
    //      收入      1100        100     捡钱
    //      支出      900         200     买东西
    //      收入      1900        1000    卖血
    public static Scanner sc = new Scanner(System.in);//类属性：类中所有的方法都可以访问
    public static String details[][]=new String[2][4];// 用来储存 记账信息
    public static int m=10000;//起始资金
    public static int index=0;//记录 数据应该录入到哪一行中

    public static void input(){
        if(index>details.length-1){
            System.out.println("记账软件空间不足，请充值VIP!!");
            return;
        }
        System.out.println("本次收入金额：");
        int money=sc.nextInt();//编译错误
        System.out.println("本次收入说明：");
        String msg=sc.next();
        m=m+money;//修改账户金额  m=10000+1000=11000
        //保存数据
        details[index][0]="收入";
        details[index][1]=m+"";//数据类型不匹配   string  <-- int
        details[index][2]=money+"";
        details[index][3]=msg;
        index++;//索引 移动到下一行
    }

    public static void output(){
        if(index>details.length-1){
            System.out.println("记账软件空间不足，请充值VIP!!");
            return;
        }
        System.out.println("本次支出金额：");
        int money=sc.nextInt();//编译错误
        System.out.println("本次支出说明：");
        String msg=sc.next();
        if(money>m){
            System.out.println("醒醒，你没那么多钱！！账户余额："+m);
            return;
        }
        m=m-money;//修改账户金额  m=10000+1000=11000
        //保存数据
        details[index][0]="支出";
        details[index][1]=m+"";//数据类型不匹配   string  <-- int
        details[index][2]=money+"";
        details[index][3]=msg;
        index++;//索引 移动到下一行
    }

    public static void printInfo(){
        System.out.println("*******************收支明细************************");
        System.out.println("收支\t账户金额\t收支金额\t说明");
        //遍历-->public static String details[][]=new String[10][4];// 用来储存 记账信息
        for (int i = 0; i < details.length; i++) {
            if(details[i][0]==null){//意味着这里没有记账记录，所以不用再打印
                break;
            }
            System.out.println(details[i][0]+"\t"+details[i][1]
                                +"\t"+details[i][2]+"\t"+details[i][3]);
        }
    }






    public static void main(String[] args) {
        start();
    }

    public static void start(){
        sys:while(true){
            printMenu();//打印菜单
            int op=sc.nextInt();//用户选择！！
            switch (op){
                case 1:
                    printInfo();
                    break;
                case 2:
                    input();
                    break;
                case 3:
                    output();
                    break;
                case 4:
                    System.out.println("退出");
                    break sys;
            }
        }
    }

    public static void printMenu(){
        System.out.println("*************************家庭收支记账软件*****************************");
        System.out.println("1.打印收支明细");
        System.out.println("2.登记收入");
        System.out.println("3.登记支出");
        System.out.println("4.退出");
        System.out.print("请选择(1-4)：");
    }

   




}
